# Provision.pm
# Copyright (C) 2006, 2007  Stephane Alnet
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
# 

#
# For more information visit http://carrierclass.net/
#

package CCNv2::Provision;
use strict; use warnings;
use base qw(CCNCore::Provision);

sub commit_template
{
    return CCNCore::Home::manager.'/lib/CCNv2/templates/commit.pl';
}


sub pre_db_modules
{
    return qw(

        CCNv2::Provision::Application::mysql

        CCNv2::Provision::Application::configure_replication

        CCNv2::Provision::phones_cisco
        CCNv2::Provision::phones_polycom

        CCNv2::Provision::CDN::distribute_cisco
        CCNv2::Provision::CDN::distribute_polycom
        CCNv2::Provision::CDN::distribute_moh

        CCNv2::Provision::Application::vsftpd
        CCNv2::Provision::Application::tftpd

        CCNv2::Provision::Application::mediaproxy

    );
}

sub db_modules
{
    return qw(
        
        CCNv2::Provision::startup_mysql

        CCNv2::Provision::Database::db_ser
        CCNv2::Provision::Database::db_asterisk

    );
}

sub post_db_modules
{
    return qw(

        CCNv2::Provision::program_ser

        CCNv2::Provision::Asterisk::base
        CCNv2::Provision::Asterisk::sip
        CCNv2::Provision::Asterisk::realtime
        CCNv2::Provision::Asterisk::erouter
        CCNv2::Provision::Asterisk::voicemail
        CCNv2::Provision::Asterisk::from_proxy
        CCNv2::Provision::Asterisk::cos
        CCNv2::Provision::Asterisk::dialplan
        CCNv2::Provision::Asterisk::directory
        CCNv2::Provision::Asterisk::menu
        CCNv2::Provision::Asterisk::features
        CCNv2::Provision::Asterisk::outbound
        CCNv2::Provision::Asterisk::to_proxy
        CCNv2::Provision::Asterisk::phones
        CCNv2::Provision::Asterisk::phonecos
        CCNv2::Provision::Asterisk::proxytrunks
        CCNv2::Provision::Asterisk::siptrunks
        CCNv2::Provision::Asterisk::zaptrunks
        CCNv2::Provision::Asterisk::last

    );
}

sub spool_module
{
    return qw(
        CCNv2::Provision::Application::spool
    );
}

sub bind_module
{
    return qw(
        CCNv2::Provision::Application::bind
    );
}

sub dhcpd_module
{
    return qw(
        CCNv2::Provision::Application::dhcpd
    );
}



1;